

import { reqCategoryListDate, reqGetBannerListData, reqGetFloorsListData } from '../../api/index';

const state = {
  categoryList:[],//三级导行数据

  //轮播图数据
  bannerList: [],
  
  //楼层数据
  floorsList:[]
}
//用于存储项目中的数据 进行统一管理

//用于发送异步请求
const actions = {
 async getCategoryListData(context) {
    const result = await reqCategoryListDate()
    //判断获取的数据是否成功
    if (result.code === 200) {
      context.commit('SAVE_CATEGORY_LIST_DATA',result.data)
    } else {
      console.log(result.message)
    }
  },
  //2.获取轮播图的数据
  async getBannerListData(context) {
    const result = await reqGetBannerListData()
    if (result.code === 200) {
      context.commit('SAVE_BANNER_LIST_DATA',result.data)
    } else {
      console.log(result.message);
    }
  },
  //3.获取楼层数据
  async getFloorsListData({ commit }) {
    const result = await reqGetFloorsListData()
    if (result.code === 200) {
      commit('SAVE_FLOORS_LIST_DATA',result.data)
    }else {
      console.log(result.message);
    }
  }
}

//用于对state数据的操作 只有mutations才能对data中数据进行操作
const mutations = {
  SAVE_CATEGORY_LIST_DATA(state,categoryList) {
    state.categoryList = categoryList
  },
  //存储轮播图数据的放法
  SAVE_BANNER_LIST_DATA(state, bannerList) {
    state.bannerList= bannerList
  },

  SAVE_FLOORS_LIST_DATA(state, floorsList) {
    state.floorsList = floorsList
  }
  
}

const getters = {}
//相当于Vuex中的计算属性
export default {
  namespaced:true,//开启命名空间
  state,
  actions,
  mutations,
  getters,
};